package studia.figlewicz.dao.ejb;

// Generated 2011-06-03 08:31:30 by Hibernate Tools 3.4.0.CR1

import java.math.BigDecimal;
import java.util.Date;
import java.util.HashSet;
import java.util.Set;
import javax.persistence.AttributeOverride;
import javax.persistence.AttributeOverrides;
import javax.persistence.Column;
import javax.persistence.EmbeddedId;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.JoinColumn;
import javax.persistence.JoinTable;
import javax.persistence.ManyToMany;
import javax.persistence.OneToMany;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

/**
 * Planwyceny generated by hbm2java
 */
@Entity
@Table(name = "PLANWYCENY", schema = "MARCIN")
public class Planwyceny implements java.io.Serializable {

	private PlanwycenyId id;
	private String metodawyceny;
	private BigDecimal dokladnoscwyceny;
	private BigDecimal ilosciteracji;
	private BigDecimal ilosctrajektorii;
	private BigDecimal krokczasowy;
	private Date datautworzenia;
	private String login;
	private String opis;
	private Set<Portfel> portfels = new HashSet<Portfel>(0);
	private Set<Wycenainstrumentu> wycenainstrumentus = new HashSet<Wycenainstrumentu>(
			0);
	private Set<Planwycenystruktury> planwycenystrukturies = new HashSet<Planwycenystruktury>(
			0);

	public Planwyceny() {
	}

	public Planwyceny(PlanwycenyId id) {
		this.id = id;
	}

	public Planwyceny(PlanwycenyId id, String metodawyceny,
			BigDecimal dokladnoscwyceny, BigDecimal ilosciteracji,
			BigDecimal ilosctrajektorii, BigDecimal krokczasowy,
			Date datautworzenia, String login, String opis,
			Set<Portfel> portfels, Set<Wycenainstrumentu> wycenainstrumentus,
			Set<Planwycenystruktury> planwycenystrukturies) {
		this.id = id;
		this.metodawyceny = metodawyceny;
		this.dokladnoscwyceny = dokladnoscwyceny;
		this.ilosciteracji = ilosciteracji;
		this.ilosctrajektorii = ilosctrajektorii;
		this.krokczasowy = krokczasowy;
		this.datautworzenia = datautworzenia;
		this.login = login;
		this.opis = opis;
		this.portfels = portfels;
		this.wycenainstrumentus = wycenainstrumentus;
		this.planwycenystrukturies = planwycenystrukturies;
	}

	@EmbeddedId
	@AttributeOverrides({
			@AttributeOverride(name = "nazwa", column = @Column(name = "NAZWA", nullable = false, length = 50)),
			@AttributeOverride(name = "numerwersji", column = @Column(name = "NUMERWERSJI", nullable = false, precision = 22, scale = 0)) })
	public PlanwycenyId getId() {
		return this.id;
	}

	public void setId(PlanwycenyId id) {
		this.id = id;
	}

	@Column(name = "METODAWYCENY", length = 12)
	public String getMetodawyceny() {
		return this.metodawyceny;
	}

	public void setMetodawyceny(String metodawyceny) {
		this.metodawyceny = metodawyceny;
	}

	@Column(name = "DOKLADNOSCWYCENY", precision = 24, scale = 12)
	public BigDecimal getDokladnoscwyceny() {
		return this.dokladnoscwyceny;
	}

	public void setDokladnoscwyceny(BigDecimal dokladnoscwyceny) {
		this.dokladnoscwyceny = dokladnoscwyceny;
	}

	@Column(name = "ILOSCITERACJI", precision = 22, scale = 0)
	public BigDecimal getIlosciteracji() {
		return this.ilosciteracji;
	}

	public void setIlosciteracji(BigDecimal ilosciteracji) {
		this.ilosciteracji = ilosciteracji;
	}

	@Column(name = "ILOSCTRAJEKTORII", precision = 22, scale = 0)
	public BigDecimal getIlosctrajektorii() {
		return this.ilosctrajektorii;
	}

	public void setIlosctrajektorii(BigDecimal ilosctrajektorii) {
		this.ilosctrajektorii = ilosctrajektorii;
	}

	@Column(name = "KROKCZASOWY", precision = 24, scale = 12)
	public BigDecimal getKrokczasowy() {
		return this.krokczasowy;
	}

	public void setKrokczasowy(BigDecimal krokczasowy) {
		this.krokczasowy = krokczasowy;
	}

	@Temporal(TemporalType.DATE)
	@Column(name = "DATAUTWORZENIA", length = 7)
	public Date getDatautworzenia() {
		return this.datautworzenia;
	}

	public void setDatautworzenia(Date datautworzenia) {
		this.datautworzenia = datautworzenia;
	}

	@Column(name = "LOGIN", length = 30)
	public String getLogin() {
		return this.login;
	}

	public void setLogin(String login) {
		this.login = login;
	}

	@Column(name = "OPIS", length = 500)
	public String getOpis() {
		return this.opis;
	}

	public void setOpis(String opis) {
		this.opis = opis;
	}

	@ManyToMany(fetch = FetchType.LAZY)
	@JoinTable(name = "OKRESLASPOSOBWYCENY", schema = "MARCIN", joinColumns = {
			@JoinColumn(name = "NAZWAPLANUWYCENY", nullable = false, updatable = false),
			@JoinColumn(name = "NUMERWERSJIPLANUWYCENY", nullable = false, updatable = false) }, inverseJoinColumns = { @JoinColumn(name = "NAZWAPORTFELA", nullable = false, updatable = false) })
	public Set<Portfel> getPortfels() {
		return this.portfels;
	}

	public void setPortfels(Set<Portfel> portfels) {
		this.portfels = portfels;
	}

	@OneToMany(fetch = FetchType.LAZY, mappedBy = "planwyceny")
	public Set<Wycenainstrumentu> getWycenainstrumentus() {
		return this.wycenainstrumentus;
	}

	public void setWycenainstrumentus(Set<Wycenainstrumentu> wycenainstrumentus) {
		this.wycenainstrumentus = wycenainstrumentus;
	}

	@OneToMany(fetch = FetchType.LAZY, mappedBy = "planwyceny")
	public Set<Planwycenystruktury> getPlanwycenystrukturies() {
		return this.planwycenystrukturies;
	}

	public void setPlanwycenystrukturies(
			Set<Planwycenystruktury> planwycenystrukturies) {
		this.planwycenystrukturies = planwycenystrukturies;
	}

}
